package com.joeljhou.project.form;


import lombok.SneakyThrows;

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;

public class MyJFram extends JFrame {
    @SneakyThrows
    public static void main(String[] args) {
        MyJFram jFram = new MyJFram();
        //显示
        jFram.setVisible(true);
    }


    public MyJFram() {
        initComponent();
    }

    @SneakyThrows
    private void initComponent() {
        //标题
        this.setTitle("富明纽扣有限公司");
        //大小
        this.setSize(1200, 700);
        //图标
        this.setIconImage(ImageIO.read(this.getClass().getResource("/image/COM001.png")));
        //最上层展示
        //this.setAlwaysOnTop(true);
        //居中
        centerDisplay(this);
        //窗口大小是否可调整
        this.setResizable(false);
        //销毁窗口并释放资源
        //this.dispose();

        //扩展状态
        /**
         * MAXIMIZED_HORIZ:⽔平⽅向最⼤化
         * MAXIMIZED_VERT:垂直⽅向最⼤化
         * MAXIMIZED_BOTH:⽔平、垂直⽅向都最⼤化
         */
        //this.setExtendedState(JFrame.MAXIMIZED_BOTH);

        //关闭方式
        /**
         * DO_NOTHING_ON_CLOSE:什么也不做
         * HIDE_ON_CLOSE:隐藏当前窗⼝
         * DISPOSE_ON_CLOSE:隐藏当前窗⼝，并释放窗体占有的其他资源
         * EXIT_ON_CLOSE:结束窗⼝所在的应⽤程序
         */
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    //居中显示窗口
    private static void centerDisplay(Frame frame) {
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();  //获取到屏幕尺寸
        int x = (int) ((screenSize.getWidth() - frame.getWidth()) / 2);   //居中位置就是：屏幕尺寸/2 - 窗口尺寸/2
        int y = (int) ((screenSize.getHeight() - frame.getHeight()) / 2);
        frame.setLocation(x, y);   //位置设置好了之后再展示出来
    }
}
